<?php

include_once(dirname(__FILE__)."\Conexao.php");
include_once(dirname(__FILE__)."\SetorDAO.php");
include_once(dirname(dirname(__FILE__))."\classes\Funcionario.php");

/**
 * Classe FuncionarioDAO
 *
 * @author Falci
 * @package dao
 */
class FuncionarioDAO {

    public function  __construct() {
        new Conexao();
    }

    public function inserir($funcionario){
        $sql = "INSERT INTO funcionario VALUES(0,'".$funcionario->getIp()."','".$funcionario->getNome()."',".$funcionario->getSetor()->getId().",1);";
        return mysql_query($sql);
    }

    public function alterar($funcionario){
        $sql = "UPDATE funcionario SET ip='".$funcionario->getIp()."', nome='".$funcionario->getNome()."', setor=".$funcionario->getSetor()->getId()." WHERE id=".$funcionario->getId().";";
        return mysql_query($sql);
    }

    public function excluir($funcionario){
        $sql = "UPDATE funcionario SET status=0 WHERE id=".$funcionario->getId().";";
        return mysql_query($sql);
    }

    public function listar(){
        $array = Array();
        $query = mysql_query("SELECT * FROM funcionario WHERE status=1 ORDER BY nome");
        while ($row = mysql_fetch_object($query)) {
            $funcionario = new Funcionario;
            $setor = new SetorDAO;
            $funcionario->setId($row->id);
            $funcionario->setIp($row->ip);
            $funcionario->setNome($row->nome);
            $funcionario->setSetor($setor->buscaPorId($row->setor));
            $array []= $funcionario;
        }

        return $array;
    }

    public function buscaPorId($id){
        $funcionario = new Funcionario;
        $setor = new SetorDAO;
        $query = mysql_query("SELECT * FROM funcionario WHERE id=$id;");

        if(mysql_num_rows($query) == 0) return false;
        
        while ($row = mysql_fetch_object($query)) {
            $funcionario->setId($row->id);
            $funcionario->setIp($row->ip);
            $funcionario->setNome($row->nome);
            $funcionario->setSetor($setor->buscaPorId($row->setor));
            $funcionario->setStatus($row->status);
        }

        return $funcionario;
    }

    public function buscaPorIP($ip){
        $funcionario = new Funcionario;
        $setor = new SetorDAO;
        $query = mysql_query("SELECT * FROM funcionario WHERE ip='$ip';");

        if(mysql_num_rows($query) == 0) return false;
        
        while ($row = mysql_fetch_object($query)) {
            $funcionario->setId($row->id);
            $funcionario->setIp($row->ip);
            $funcionario->setNome($row->nome);
            $funcionario->setSetor($setor->buscaPorId($row->setor));
            $funcionario->setStatus($row->status);
        }

        return $funcionario;
    }

    public function totalRegistros(){
        $query = mysql_query("SELECT COUNT(id) FROM funcionario WHERE status=1;");
        return mysql_result($query, 0);
    }

    public function listarPag($pagina=1){
        global $_CFG;
        $primeiro = $pagina * $_CFG['ppp'] - $_CFG['ppp'];
        $sql = "SELECT f.id,f.ip,f.nome,s.nome setor FROM funcionario f, setor s WHERE f.status=1 AND f.setor=s.id ORDER BY f.nome LIMIT $primeiro,$_CFG[ppp];";
        $query = mysql_query($sql);
        $saida = Array();

        while ($row = mysql_fetch_array($query)) {
            $saida []= $row;
        }

        return $saida;
    }

    public function pesquisar($q){
        global $_CFG;
        $sql = "SELECT f.id,f.ip,f.nome,s.nome setor FROM funcionario f, setor s WHERE f.status=1 AND f.setor=s.id AND f.nome like '%$q%' ORDER BY f.nome LIMIT ".($_CFG['maxResult']+1).";";
        $query = mysql_query($sql);
        $saida = Array();

        while ($row = mysql_fetch_array($query)) {
            $saida []= $row;
        }

        return $saida;
    }

    public function getCombo($default=0,$more=""){
        $sql = mysql_query("SELECT id,nome FROM funcionario WHERE status=1 ORDER BY nome;");
        $out = "<select name=\"funcionario\" $more>\r\n";
        while($r = mysql_fetch_assoc($sql)){
            if($r['id'] == $default){
                $out .= "    <option value=\"".$r['id']."\" selected=\"selected\">".$r['nome']."</option>\r\n";
            } else {
                $out .= "    <option value=\"".$r['id']."\">".$r['nome']."</option>\r\n";
            }
        }
        $out .= "</select>\r\n";
        return $out;
    }
}
?>